package javachongkao.编程基础.空心字母金字塔;

import java.util.Scanner;
//7-55 空心字母金字塔
//输入一个大写的英文字母，输出空心的字母金字塔。
//
//输入格式:
//一个大写英文字母。
//
//输出格式:
//一个空心的大写英文字母金字塔，其中第1层的“A”在第1行的第40列，列从1开始计数。
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        char target = sc.next().charAt(0);
        int height = target - 'A' + 1;
        int initialSpaces = 39;//题中给出了空格初始值  接下来只要根据高度递减输出空格
        for (int i = 0; i < height; i++) {
            for (int j = 0; j < initialSpaces - i; j++) {
                System.out.print(" ");
            }//这边完成了空格的递减输出
            System.out.print((char) ('A' + i));//思路是先输出每行第一个 再考虑输出空格
            //这里是将最后一行和非最后一行区分开
            if (i != height - 1) {//如果非最后一行
                for (int k = 0; k <= 2 * i - 1; k++) {
                    if(k!=2*i-1) {
                        System.out.print(" ");
                    }
                    else {
                        System.out.print((char) ('A' + i));
                    }
                }
            } else { //如果等于最后一行输出字母 不需要空格的
                for (int l = 1; l < 2 * i + 1; l++) {
                    System.out.print((char) ('A' + i));
                }
            }
            System.out.println();
        }
    }
}